
#include "nane/FileArchiveSystem/Directory/DirectoryFileArchiveSystem.h"
#include "nane/FileArchiveSystem/Directory/DirectoryFileArchive.h"

namespace nane
{
    ////////////////////////////////////////////////////////////////////////////////////////////////
    DirectoryFileArchiveSystem::DirectoryFileArchiveSystem()
    {
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    DirectoryFileArchiveSystem::~DirectoryFileArchiveSystem()
    {
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    bool DirectoryFileArchiveSystem::Initialize()
    {
        return true;
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    void DirectoryFileArchiveSystem::Shutdown()
    {
        
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    const char* DirectoryFileArchiveSystem::GetFileType()
    {
        return "";
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    IFileArchive* DirectoryFileArchiveSystem::CreateArchive( IInputSeekableRef* _input )
    {
        return NULL;
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    IFileArchive* DirectoryFileArchiveSystem::CreateArchive( const char* _filename )
    {
        DirectoryFileArchive* directoryArchive = new DirectoryFileArchive();
        if( directoryArchive->Initialize(_filename) == false )
        {
            delete directoryArchive;
            directoryArchive = NULL;
        }
        return directoryArchive;        
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    void DirectoryFileArchiveSystem::ReleaseArchive( IFileArchive* _fileArchive )
    {
        DirectoryFileArchive* directoryArchive = static_cast<DirectoryFileArchive*>(_fileArchive);
        directoryArchive->Shutdown();
        delete directoryArchive;        
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
}   // namespace nane
